www.gusucode.com > ROCKOA PHP协同办公OA办公系统 v2.0PHP源码程序 > ROCKOA PHP协同办公OA办公系统 v2.0/rockoa_v2.0/rockoa_v2.0/webrock/extjs/rock/flowform.js
/** 主页:http://www.xh829.com 交流QQ群:429403774 说明:免费开源软件,欢迎学习研究使用 作者:雨中磐石(rainrock) */ Ext.define('Ext.rock.flowform',{ extend: 'Ext.panel.Panel', alias: 'widget.rockflowform', flownum:'', tablename:'', gridid:'', isedit:0, border:false, layout: { type: 'hbox', align: 'stretch', pack: 'center' }, formparams:{}, formsuccess:function(){ }, formwidth:550, initComponent: function(){ var me = this; me.rand = js.getrand(); if(me.formwidth<550)me.formwidth=550; me._formparams={ border:false, tablename:me.tablename, flownum:me.flownum, xtype:'rockform', editjudgewhere:'status in(0,2) and uid={uid} and id={id}', success:function(a, a1){ me.formsuccess(me, a); var ssa = '编辑'; if(this.mid==0)ssa='新增'; js.msg('success', ''+ssa+'保存成功'); a1.setBtnhidden(true); me._setpreoad(); //closetabs(nowtab.num); }, width:me.formwidth, border:false, buttonsitems:[{ text:'提交处理',icon:gicons('check'),id:'checkbtn_'+me.rand+'',hidden:true,handler:function(){me._checkflow()} }] }; me._createitmes(); this.callParent(); }, _createitmes:function(){ var me = this; Ext.apply(me._formparams, me.formparams); var shenpl = { xtype:'fieldset',title: '处理进程',bodyPadding:5,hidden:me.mid==0,collapsible: true,layout:'anchor',items:[{ xtype: 'fieldcontainer',defaultType: 'displayfield',layout:'hbox',items:[{ fieldLabel:'状态',name:'checkstatustextPost',readOnly:true,value:'待提交',width:'49%',labelWidth:80 },{ fieldLabel:'当前处理人',name:'nowchecknamePost',readOnly:true,value:'',width:'49%',labelWidth:80 }] },{ xtype: 'combo',fieldLabel: ''+bitian+'动作',editable:false,name: 'checkstatusPost',labelWidth:80,hidden:true,value:'',store:[['','']],anchor:'49%' },{ fieldLabel:'说明',name:'checkexplainPost',xtype:'textareafield',height:50,labelWidth:80,hidden:true },{ fieldLabel:'处理流程',hidden:true,name:'checnshowjloewPost',xtype:'displayfield',height:55,value:'<div id="flowlog_'+me.rand+'" class="x-form-text" style="height:50px;overflow:auto;padding:0px;line-height:22px"></div>',labelWidth:80 },{ xtype:'grid',id:'checklog_'+me.rand+'',margin:5,store:Ext.create('Ext.data.Store',{ fields:['id','name','checkname','status','statusname','statuscolor','explain','optdt'], data:[] }), columns:[{ xtype: 'rownumberer',width:40 },{ text:'名称',dataIndex:'name',align:'center',flex:0.7,sortable:false,menuDisabled:true },{ text:'处理人',dataIndex:'checkname',align:'center',flex:0.7,sortable:false,menuDisabled:true },{ text:'状态',dataIndex:'status',align:'center',flex:0.7,sortable:false,menuDisabled:true,renderer:function(v, m,a){ return '<font color='+a.get('statuscolor')+'>'+a.get('statusname')+'</font>'; } },{ text:'时间',dataIndex:'optdt',align:'center',flex:1,sortable:false,menuDisabled:true }], viewConfig: { enableTextSelection: true }, features: [{ ftype: 'rowbody', getAdditionalData: function(v, index) { var cont = v.explain, s = ''; var cls = 'x-grid-row-body-hidden'; if(!isempt(cont)){ cls = ''; s = '<div style="padding:2px;padding-left:5px;line-height:20px">【说明】:'+cont+'</div>'; } return { rowBody: s, rowBodyCls:cls }; } }, { ftype: 'rowwrap' }] }] }; me._formparams.items.push(shenpl); me.items = me._formparams; }, showdata:function(){}, afterFirstLayout:function() { this.callParent(); this.form = this.down('rockform'); this.loadData(); }, //加载数据 loadData:function(){ var me = this; me.isedit = 0; if(me.mid==0){ me.form.setBitian(); me.isedit = 1; return; } var gurl = me.geturl; if(!gurl)gurl = js.getajaxurl('publicgetdata', 'flow', ''); var url = gurl+'&tablename='+me.tablename+'&flownum='+me.flownum+'&mid='+me.mid+''; me.form.setmsg('读取信息...','#ff6600'); me.form.setBtnhidden(true); $.get(url, function(da){ me._loadshowdata(da); }); }, _loadshowdata:function(da) { var me = this; me.form.setmsg(''); var a = js.decode(da); me.backdata = a; me.form.adddata(a.data,'id'); me.form.setVal('nowcheckname', js.repempt(a.data.nowcheckname,'')); me._loadinforshow(a); getcmp('checklog_'+me.rand+'').getStore().loadData(a.logarr); getcmp('checklog_'+me.rand+'').setHeight(150); me.form.getField('checkstatus').getStore().loadData(a.actarr);; var zt = '',zt1=''; if(a.data.isturn!=1){ zt = '待提交'; }else{ zt = a.data.checkstatustext; //是否可以审核 var nochid = ','+a.data.nowcheckid+','; if(nochid.indexOf(','+adminid+',')>-1 && a.data.status !=1){ getcmp('checkbtn_'+me.rand+'').show(); me.form.getField('checkstatus').show(); me.form.getField('checkexplain').show(); } if(a.data.status !=1)me.form.getField('checnshowjloew').show(); } me.form.setVal('checkstatustext', zt); if(a.data.nstatus!=1 && a.data.uid == adminid){//可编辑的条件 me.form.setBtnhidden(false); me.form.setBitian(); me.isedit = 1; } if(!me.isEdit())me.form.setReadOnly(true, 'checkexplainPost,checkstatusPost'); me.showdata(me.form, a, me); }, _loadinforshow:function(a){ $('#flowlog_'+this.rand+'').html('<div style="padding:5px;line-height:22px">'+a.logstr+'</div>'); }, _checkflow:function(){ var me = this; if(me.form.bool)return; var zt = me.form.getVal('checkstatus'), sm = me.form.getVal('checkexplain'); var das = {zt:zt,sm:sm,flownum:me.flownum,id:me.mid}; if(isempt(zt)){ me.form.setmsg('请选择处理动作'); return; } if(zt=='2' && isempt(sm)){ me.form.setmsg('此动作必须填写说明'); return; } me.form.setmsg('处理中...', '#ff6600'); me.form.bool = true; $.ajax({ type:'post',url:js.getajaxurl('check','flow'),data:das, success:function(da){ if(da.indexOf('成功')){ me.form.setmsg(da, 'green'); getcmp('checkbtn_'+me.rand+'').setDisabled(true); try{reloaddaiban()}catch(e){} }else{ me.form.bool = false; me.form.setmsg(da); } me._setpreoad(); }, error:function(){ me.form.bool = false; me.form.setmsg('处理失败请重试'); } }); }, getForm:function(){ return this.down('rockform'); }, isEdit:function(){ return this.isedit == 1; }, //可以刷新 _setpreoad:function(){ if(!this.gridid)return; if(!getcmp(this.gridid))return; getcmp(this.gridid).setReload(true); } });